package com.pig4cloud.pig.module.service.wx;

import com.pig4cloud.pig.common.mybatis.core.BaseService;
import com.pig4cloud.pig.module.api.entity.charger.ChargerOrder;
import com.pig4cloud.pig.module.api.entity.electric.ElectricOrder;
import com.pig4cloud.pig.module.api.entity.estate.RepairRecord;
import com.pig4cloud.pig.module.api.entity.mer.MerEggSettlement;
import com.pig4cloud.pig.module.api.entity.product.ProductOrderWarmHeart;
import com.pig4cloud.pig.module.api.entity.promoter.PromoterSettlement;
import com.pig4cloud.pig.module.api.entity.property.PropertyFeeOrder;
import com.pig4cloud.pig.module.api.entity.wx.WxTemplate;
import com.pig4cloud.pig.module.api.entity.wx.WxUser;
import com.pig4cloud.pig.module.api.entity.wx.WxUserCashRecord;

/**
 * 微信公众号的模板消息列Service接口
 *
 * @author ruoyi
 * @date 2021-08-11
 */
public interface IWxTemplateService extends BaseService<WxTemplate> {
	/**
	 *  物业费补充信息后 给业主推送 支付消息提醒
	 * @param user
	 * @param feeOrder
	 * @return
	 */
	int sendWxMsgByPropertyFee(WxUser user, PropertyFeeOrder feeOrder);

	/**
	 *  暖心保缴费提示
	 * @param user
	 * @param orderWarmHeart
	 * @return
	 */
	int sendWxMsgByWarmHeart(WxUser user, ProductOrderWarmHeart orderWarmHeart);

	/**
	 * 发送提现成功通知
	 * @param user
	 * @param cashRecord
	 * @return
	 */
	int sendWxMsgTiXian(WxUser user, WxUserCashRecord cashRecord, double leftMoney);

	/**
	 *  鸡蛋结算，给财务部门发送结算通知
	 * @param eggSettlement
	 * @return
	 */
	int sendWxMsgEggSettleSubmit(MerEggSettlement eggSettlement, double leftMoney);


	/**
	 *  邀请推广结算，给财务部门发送结算通知
	 * @param promoterSettlement
	 * @return
	 */
	int sendWxMsgPromoterSettleSubmit(PromoterSettlement promoterSettlement, double leftMoney);


	/**
	 * 发送提现成功通知
	 * @param user
	 * @param eggSettlement
	 * @return
	 */
	int sendWxMsgEggSettle(WxUser user, MerEggSettlement eggSettlement, double leftMoney);


	/**
	 * 发送提现成功通知(推广员结算推送)
	 * @param user
	 * @param promoterSettlement
	 * @return
	 */
	int sendWxMsgPromoterSettle(WxUser user, PromoterSettlement promoterSettlement, double leftMoney);


	/**
	 *  报修成功 公众号推送消息
	 * @param repairRecord
	 * @param template_type
	 * @return
	 */
	int sendWxMsgRepair(RepairRecord repairRecord, Integer template_type);


	/**
	 * 电表充电 推送消息
	 * @param order
	 * @param isOver
	 * @return
	 */
	int sendWxMsgElectricRecharge(ElectricOrder order, int isOver);



	/**
	 * 发送充电开始公众号推送消息
	 * @param chargerOrder
	 * @return
	 */
	int sendWxMsgEndCharger(ChargerOrder chargerOrder);


	/**
	 *  重置AccessToken
	 * @param type   0 - 公众号  1 - 小程序
	 * @return
	 */
	String getAccessToken(int type);

}
